package com.gitee.service;

import com.gitee.dto.FriendUpdatesDTO;
import com.gitee.dto.FriendUpdatesStatesDTO;
import com.gitee.dto.PageQueryDTO;
import com.gitee.vo.FriendUpdatesVO;

import java.util.List;

/**
 * 好友动态
 */
public interface FriendUpdatesService {
    /**
     * 分页查询
     * @param pageQueryDTO 分页对象
     */
    List<FriendUpdatesVO> pageQuery(PageQueryDTO pageQueryDTO);

    /**
     * 保存动态
     */
    void save(FriendUpdatesDTO friendUpdatesDTO);

    /**
     * 获取该用户的动态数量
     * @param userId 用户id
     * @return 动态数量
     */
    Long count(Integer userId);

    /**
     * 修改动态点赞等状态
     */
    void setState(FriendUpdatesStatesDTO friendUpdatesStatesDTO);

    List<FriendUpdatesVO> getFriendUpdatesVOByTitle(String title);

    FriendUpdatesVO getFriendUpdateById(Integer id);

    List<FriendUpdatesVO> getFriendUpdateByUserId(Integer userId);

    List<FriendUpdatesVO> getCollectionFriendUpdate(Integer userId);

    Long getUserLikeCount(Integer userId);

    void deleteFriendUpdate(Integer friendUpdateId);
}
